package com.xm;

public class String02 {
    public static void main(String[] args) {
        // String直接创建，存储在公共池中（或者叫字符串常量池）
        String s1 = "runoob";
        String s2 = "runoob";

        String s3 = new String("runoob");
        String s4 = new String("runoob");

        // ==运算符（基本数据类型是值比较，引用数据类型比较的是引用地址是否相同）
        System.out.println(s1 == s2);   // true，相同引用，指向字符串常量池中的同一个对象
        System.out.println(s3 == s4);   // false，指向不同的对象

        // equals方法（String重写了equals方法，比较的是内容）
        System.out.println(s1.equals(s2));  // true，内容相同
        System.out.println(s3.equals(s4));  // true，内容相同

        char[] strArray = {'r', 'u', 'n', 'o', 'o', 'b'};
        String str = new String(strArray);
        System.out.println(str);

        // 字符串长度
        String str2 = "www.runoob.com";
        int len = str2.length();
        System.out.println("菜鸟教程网址长度：" + len);

        // 连接字符串（concat方法或者直接使用 + 进行连接）
        String str3 = "Hello ";
        System.out.println(str3.concat(str2));
        System.out.println("我的名字是 ".concat("Runoob"));
        System.out.println(str3 + "runoob" + "!");

        // 输出格式化数字
        float floatVar=5.0f;
        int intVar=50;
        String stringVar = "test";
        System.out.printf("浮点型变量的值为 " +
                "%f, 整型变量的值为 " +
                "%d, 字符串变量的值为 " +
                "is %s", floatVar, intVar, stringVar);

        System.out.println();

        // 格式化字符串
        String fs;
        fs = String.format("浮点型变量的值为 " +
                "%f, 整型变量的值为 " +
                "%d, 字符串变量的值为 " +
                "%s", floatVar, intVar, stringVar);
        System.out.println("fs = " + fs);
    }
}
